It was determined that a ring laser gyro exhibits a phenomenon referred to as lock-in. Lock-in is the inability of a ring laser gyro to detect motion below a low rotational rate threshold. To avoid lock-in at a low rotation rate, a ring laser gyro has been mechanically vibrated, or dithered, about its input axis. To remove this unwanted signal and to minimize data latency, dither stripping techniques have been employed in a dither stripper.
In the dither stripping technique, the angular deflection of the ring laser gyro, due to dither, is measured by digitizing voltage from a piezo-electric element mounted on the gyro dither spring. [Typically referred to as the dither pickoff, or DPO, dither pickoff voltage is data that represents actual dither angular deflection, ThetaD.] Dither pickoff voltage, DPO, is used as a reference signal in calculations to determine the gyro dither motion, ThetaD.
A sampled single gyro angular deflection, ThetaG, is detected by an inertial measurement unit having a single ring laser gyro. ThetaG can be viewed as consisting of the base angular deflection, ThetaB, due to vehicle base motion, plus a dither angular deflection, ThetaD, that is due to the dither of the ring laser gyro. ThusThetaG=ThetaB+ThetaD,  Equation (1).
As shown in FIG. 1, a typical two-gain dither stripping algorithm is implemented in a prior art dither stripper 8, in an attempt to estimate ThetaD. In the dither stripper 8, a dither estimator 10 operates according to equationThetaDest=e*Alpha+f*Alphaprev,  Equation (2)ThetaDest is the estimated dither angular deflection Values e and f are two calibrated dither stripper gains that are fed into dither estimator 10. Alpha is a sampled dither pickoff voltage, DPO. Alpha is fed into dither stripper 10. Alphaprev is a previously sampled dither pickoff voltage, DPO. Alphaprev is held in a memory of dither estimator 10.
The dither stripped angle, ThetaS, is then formed by subtracting the estimated ThetaDest from ThetaG in an arithmetic device 20. ThetaS is an approximation to the actual base angular motion, ThetaB, of a vehicle. The vehicle holds the ring laser gyro and a dither assembly.
Equivalent processing would have to be performed on the other two gyros in a three gyro system. Six calibrated dither stripper gains, e1, f1, e2, f2, e3 and f3 are used for a 3-axis inertial measurement unit having three ring laser gyros.
The dither stripper gains, e and f, are calibrated, that is updated, in real-time by an embedded processor of the inertial measurement unit (IMU). The calibration of the gains e and f must be periodically repeated so that the gains do track variations, typically due to temperature changes.
In many ring laser gyro applications to date that employed dither stripping, the gain calibration has been done using a classic least-squares algorithm. That algorithm collects data for the so-called “normal equations” of the least-squares process at the same frequency that the dither stripping takes place. For a 2-gain dither stripper model, this amounts to accumulating the elements of a symmetric 2×2 matrix and an 2×1 vector. For an N-gain dither stripper model, this amounts to accumulating the elements of a symmetric N×N matrix and an N×1 vector. Once sufficient data is collected (typically ½ to 1 second), the data collection process stops and data reduction takes place as part of low-frequency processing in the inertial measurement unit's embedded software and hardware. The data reduction, that is, the calculation of the new gains, is functionally equivalent to inverting a symmetric N×N matrix and a subsequent-matrix/vector multiply. The dimension N is equal to the number of gains being estimated for each ring laser gyro.
Due to the collection of a continuous period of data prior to initiating the data reduction, this process is referred to as a “batch process”. For the two-gain model described above, the data collection process is equivalent to updating a 2×2 matrix, S, according to an equation (3), shown in FIG. 2A, where DeltaAlpha=incremental dither pickoff, and DeltaAlphaprev=previous incremental dither pickoff.
A 2×1 vector D is expressed according to equation (4), shown in FIG. 2B, where DeltaThetaS=stripped incremental gyro angle.
During the data collection mode, each element above is updated at the same processing frequency that the dither stripping takes place.
This batch processing imposes a moderate amount of organizational complexity in a real-time systems. For the one particular IMU, the stripping and calibration data collection take place at 2000 Hz, while the data reduction takes place at 1 Hz. In a real-time system, 1 Hz processing is typically suspended several times when the higher frequency real-time interrupt occurs. As a result, care must be taken in the IMU's embedded software to insure that the data that is being used by the lower frequency process is not altered when a real-time interrupt occurs. In previous programs, a series of flags is used to insure that the data collection stops at the 2000 Hz level while the data reduction takes place at 1 Hz. When the data reduction is completed, flags are set to move the newly calculated gains into the memory locations that are used for the stripping of the gyro data. Subsequently, a new data collection period is initiated.
That is, one gyro senses small amounts of dither motion from the other two gyros in the IMU. Since the dither pickoff for an individual gyro senses orders of magnitude less than the motion from the other two gyros, the stripped data has excessive noise content. To remove the cross-coupling signal, the estimate of the motion due to dither, ThetaDeSt, was expanded to include additional gains that are applied against the dither pickoffs from the other gyros. This is described by: equationThetaDest=E*Alpha+F*Alphaprev  Equation (5)E and F are 3×3 matrices of calibrated dither stripper gains. Alpha is a 3×1 vector of sampled dither pickoffs, one from each gyro. Alphaprev is a 3×1 vector of previous dither pickoffs, one for each gyro. Matrices E and F, and vectors Alpha and Alphaprev are shown in FIG. 3.
Six (6) gains must now be estimated for each gyro channel. A set of gains, that are estimated, in order to multiplying Alphal, are (E11+E12+E13). A set of gains that are estimated, in order to multiplying Alphalprev, are (F11+F12+F13). A total of eighteen (18) estimates are required for typical 3-axis IMU having three ring laser gyros. As a result, the batch process gain updating technique described above would change equation (3) above so that S, in equation (3), would be a 6×6 symmetric matrix and vector D, in equation (4), would be a 6×1 vector. This would result in a large throughput burden on the embedded IMU's processor.
Note that each element of S and D are formed by a multiply and an add. Even taking advantage of the symmetry in S, this would amount to at least 21 multiplies and 21 adds. An additional 6 multiplies and 6 adds would be required for the formation of D. The subsequent data reduction, which calculates the new stripping gains, would have to perform operations equivalent to inverting a 6×6 matrix in real-time and multiplying the result times the 6-element vector.
A dither stripper algorithm and dither stripper hardware, for use with a dithered ring laser gyro, are taught in U.S. Pat. No. 6,208,414. The total teachings of the '414 patent are incorporated herein by reference.